
#ifndef _IGS_STM32_IAP_SETTING_H
#define _IGS_STM32_IAP_SETTING_H

#define FirmwareVer	"IAP_ST125_V100\0\0\0\0\0\0"

#define IAP_COM_USART2
#define LED_Enable		//LED_Disable
#define DEBUG_UART_OFF
#define Code_Protection_ON

/*************************************************************************************************/
//LED Define:
#define LED1_PIN                 GPIO_Pin_9
#define LED1_GPIO_PORT           GPIOD
#define LED1_GPIO_CLK            RCC_AHB1Periph_GPIOD

#define LED2_PIN                 GPIO_Pin_8
#define LED2_GPIO_PORT           GPIOD
#define LED2_GPIO_CLK            RCC_AHB1Periph_GPIOD

#define LED3_PIN                 GPIO_Pin_15
#define LED3_GPIO_PORT           GPIOB
#define LED3_GPIO_CLK            RCC_AHB1Periph_GPIOB

#define LED4_PIN                 GPIO_Pin_14
#define LED4_GPIO_PORT           GPIOB
#define LED4_GPIO_CLK            RCC_AHB1Periph_GPIOB

//IAP UART Define:
#ifdef IAP_COM_USART1
	#define IAP_COM										 USART1
	#define IAP_CLK                    RCC_APB2Periph_USART1
	#define IAP_TX_PIN                 GPIO_Pin_9
	#define IAP_TX_GPIO_PORT           GPIOA
	#define IAP_TX_GPIO_CLK            RCC_AHB1Periph_GPIOA
	#define IAP_TX_SOURCE              GPIO_PinSource9
	#define IAP_TX_AF                  GPIO_AF_USART1
	#define IAP_RX_PIN                 GPIO_Pin_10
	#define IAP_RX_GPIO_PORT           GPIOA
	#define IAP_RX_GPIO_CLK            RCC_AHB1Periph_GPIOA
	#define IAP_RX_SOURCE              GPIO_PinSource10
	#define IAP_RX_AF                  GPIO_AF_USART1
	#define IAP_IRQn                   USART1_IRQn
#endif

#ifdef  IAP_COM_USART2
	#define IAP_COM										 USART2
	#define IAP_CLK                    RCC_APB1Periph_USART2
	#define IAP_TX_PIN                 GPIO_Pin_2
	#define IAP_TX_GPIO_PORT           GPIOA
	#define IAP_TX_GPIO_CLK            RCC_AHB1Periph_GPIOA
	#define IAP_TX_SOURCE              GPIO_PinSource2
	#define IAP_TX_AF                  GPIO_AF_USART2
	#define IAP_RX_PIN                 GPIO_Pin_3
	#define IAP_RX_GPIO_PORT           GPIOA
	#define IAP_RX_GPIO_CLK            RCC_AHB1Periph_GPIOA
	#define IAP_RX_SOURCE              GPIO_PinSource3
	#define IAP_RX_AF                  GPIO_AF_USART2
	#define IAP_IRQn                   USART2_IRQn
#endif

#ifdef  IAP_COM_USART3
	#define IAP_COM										 USART3
	#define IAP_CLK                    RCC_APB1Periph_USART3
	#define IAP_TX_PIN                 GPIO_Pin_10
	#define IAP_TX_GPIO_PORT           GPIOB
	#define IAP_TX_GPIO_CLK            RCC_AHB1Periph_GPIOB
	#define IAP_TX_SOURCE              GPIO_PinSource10
	#define IAP_TX_AF                  GPIO_AF_USART3
	#define IAP_RX_PIN                 GPIO_Pin_11
	#define IAP_RX_GPIO_PORT           GPIOB
	#define IAP_RX_GPIO_CLK            RCC_AHB1Periph_GPIOB
	#define IAP_RX_SOURCE              GPIO_PinSource11
	#define IAP_RX_AF                  GPIO_AF_USART3
	#define IAP_IRQn                   USART3_IRQn
#endif

//Debug UART Define:
#ifdef  DEBUG_UART_ON
	#define Debug_COM										USART3
	#define Debug_CLK                   RCC_APB1Periph_USART3
	#define Debug_TX_PIN                GPIO_Pin_10
	#define Debug_TX_GPIO_PORT          GPIOB
	#define Debug_TX_GPIO_CLK           RCC_AHB1Periph_GPIOB
	#define Debug_TX_SOURCE             GPIO_PinSource10
	#define Debug_TX_AF                 GPIO_AF_USART3
	#define Debug_RX_PIN                GPIO_Pin_11
	#define Debug_RX_GPIO_PORT          GPIOB
	#define Debug_RX_GPIO_CLK           RCC_AHB1Periph_GPIOB
	#define Debug_RX_SOURCE             GPIO_PinSource11
	#define Debug_RX_AF                 GPIO_AF_USART3
#endif

#endif
